package com.zs.controller;


import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

@ResponseBody
@Controller
@RequestMapping("/user")
public class PathControllerer {
    /*
    * @RequestMapping
    * 作用：给handler配置访问地址 | hander和地址对 向handlerMapping中注册
    * 细节1：不用/开头 不用/结尾 可以省略
    * 细节2： 当层 多层 多个路径 模糊路径 要求：路径不能‘重复’
    *       /a/a/a  /a /a/*(单层任意字符串) /a/**(任意层任意模糊)
    *       {,,,}
    * 细节3：注解的位置@Target({ElementType.TYPE, ElementType.METHOD})
    *       类上： 提取方法的前置通用地址（可加可不加）
    *       确定后置地址，注意：方法上必须添加
    * 细节4：方法设置地址的同时，也设置请求方式限制
    *   get -> 参数 -> url?username=xx&password=xx
    *   post-> 请求体 -> username=xx&password=xx
    *   默认： method = RequestMethod.POST || method = RequestMethod.Get or
    *   细节5：限制请求方式的进阶注解
    *       post -> @RequestMapping(value= "login", method = RequestMethod.POST)
    *       get-> @RequestMapping(value= "login", method = RequestMethod.GET)
    *       | @PostMapping("login")  @GetMapping("login") @PutMapping("login")
    * 进阶注解只能限制单个请求方式，如多个or   依然使用@RequestMapping
    * restFul 增 post 删 delete 修 put 查 get
    */
    @RequestMapping("/login")
    public String login(){
        System.out.println("login");
        return "login";
    }
    @GetMapping("logout")
    @PostMapping("logout")
    @RequestMapping(value = "/logout", method = {RequestMethod.POST, RequestMethod.GET})
    public String logout(){
        System.out.println("logout");
        return "logout";
    }
    @RequestMapping("/register")
    public String register(){
        System.out.println("register");
        return "register";
    }
    @RequestMapping
    public String list(){
        System.out.println("list");
        return "list";
    }
}
